package recyclerview.view;

import android.content.Context;
import android.util.AttributeSet;

import recyclerview.swipetoloadlayout.OnLoadMoreListener;
import recyclerview.swipetoloadlayout.OnRefreshListener;
import recyclerview.swipetoloadlayout.SwipeToLoadLayout;


/**
 * Created by zmm  on 2016/9/5.
 * 下拉控件封装
 */

public class PullToRefreshRecyclerView extends SwipeToLoadLayout {
    public PullToRefreshRecyclerView(Context context) {
        super(context);
    }

    public PullToRefreshRecyclerView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public PullToRefreshRecyclerView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    /**
     * 设置下拉刷新监听
     * @param onRefreshListener
     */
    public void setOnRefreshingListener(OnRefreshListener onRefreshListener){
        setOnRefreshListener(onRefreshListener);
    }

    /**
     * 设置加载更多监听
     * @param loadingMoreListener
     */
    public void setOnLoadingMoreListener(OnLoadMoreListener loadingMoreListener){
        setOnLoadMoreListener(loadingMoreListener);
    }

    /**
     * 自动下拉刷新
     */
    public void autoRefresh(){
        setRefreshing(true);
    }

    /**
     * 设置是否开启加载更多
     * @param isCanLoadMore
     */
    public void setLoadMore(boolean isCanLoadMore){
        super.setLoadMore(isCanLoadMore);
    }

    /**
     * 设置 列表 唯一标识 方便获取刷新时间
     * @param unique
     */
    public void setUnique(String unique){
       super.setUnique(unique);
    }

    /**
     * 设置最新更新列表时间
     */
    public void setOnRefreshTime(){
        setRefreshTime();
    }

    /**
     * 设置最新更新列表时间 计算更新时间
     */
    public void setOnRefreshCurrentTime(){
        setRefreshTime();
        setRefreshCurrentTime();
    }

    /**
     * 获取更新列表时间
     */
    public String getRefreshTime(String unique){
       return getLastTime(unique);
    }

    /**
     * 获取更新列表时间
     */
    public String getRefreshCurrentTime(String unique){
        return getLastCurrentTime(unique);
    }

    /**
     * 强制刷新日间模式
     */
    public void toDay(){
       super.toDay();
    }

    /**
     * 强制刷新夜间模式
     */
    public void toNight(){
        super.toNight();
    }

    /**
     * 关闭刷新头
     */
    public void closeRefresh(){
        setLoadingMore(false);
        setRefreshing(false);
    }

    public String getUnique() {
        return  super.getUnique();
    }
}
